package utils;

import java.io.*;
import java.util.Objects;

/**
 * 文件工具类
 *
 * @author chisheng
 * @since 2021-10-25
 */
public class FileUtils {

    /**
     * 获取类路径下的文件
     *
     * @param filename 文件名
     * @return 文件实例
     */
    public static File getClasspathFile(String filename) {
        return new File(Objects.requireNonNull(FileUtils.class.getClassLoader().getResource(filename)).getPath());
    }

    /**
     * 读取文件的 byte 数组
     *
     * @param file 文件实例
     * @return 读取 byte 数组
     * @throws IOException 可能引发异常
     */
    public static byte[] getFileBytes(File file) throws IOException {
        try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) {
            return bis.readAllBytes();
        }
    }

}
